// 目录模块
import { findCategory } from "@/api/category"
import { topCategory } from "@/api/contans"

export default {
  namespaced: true,
  state() {
    return {
      // 分类信息集合,为了不会让有空白
      list: topCategory.map(item => ({name:item}))
    }
  },
  // 操作后台数据，将后台数据放到vuex中并且进行操作
  mutations:{
    setList(state,value){
      state.list = value
    },
    // 设置两个方法，显示和隐藏,也就是说，点击当前一级类目，二级类目会显示隐藏,item.id是state里面的id，id是当前的鼠标经过的每一个数据
    // 在state中寻找鼠标经过的数据，找到之后就是一个新的值
    show(state,id){
      const categoryList = state.list.find(item => item.id === id)
      categoryList.open = true
    },
    hide(state,id){
      const categoryList = state.list.find(item => item.id === id)
      categoryList.open = false
    }


  },
  // 接收后台数据
  actions:{
    async getList({ commit }){
      const data = await findCategory()
      // 后台数据，给一级类目添加一个控制二级类目显示隐藏数据的效果，使用open属性，初始化为false
      data.result.forEach(top => {
        top.open = false//top是每一个一级类目
      });
      commit('setList',data.result)
      console.log('data',data.result)
    }
  }
  
}
